package cn.sunxinao.pm.utils;

import cn.sunxinao.pm.models.AbstractPet;
import cn.sunxinao.pm.models.AbstractUser;
import java.io.File;
import java.util.List;

/**
 * 文件操作接口
 */
public interface IReadWriteTool {

    /**
     * 从文件读取所有数据
     *
     * @param file 文件（必须提前创建）
     * @return 数据集合
     */
    List<AbstractPet> readAllPets(File file);

    /**
     * 将数据保存到文件
     *
     * @param pets 数据集合
     * @param file 文件
     * @return 是否成功
     */
    boolean saveAllPets(List<AbstractPet> pets, File file);

    /**
     * 从文件读取所有用户
     *
     * @param file 文件（必须提前创建）
     * @return 用户集合
     */
    List<AbstractUser> readAllUsers(File file);

    /**
     * 将所有用户保存到文件
     *
     * @param users 用户集合
     * @param file  文件
     * @return 是否成功
     */
    boolean saveAllUsers(List<AbstractUser> users, File file);
}
